/**
 * 文件名：@SessionProvider.java <br/>
 * 包名：cn.efunbox.afw.core.mvc.session <br/>
 * 项目名：afw-core <br/>
 * @author xtwin <br/>
 */
package cn.efunbox.afw.core.mvc.session;

/**
 * 类名：SessionProvider  <br />
 *
 * 功能：会话提供者行为定义
 *
 * @author xtwin <br />
 * 创建时间：2015年12月1日 下午2:45:56  <br />
 * @version 2015年12月1日
 */
public interface SessionProvider {

	/**
	 * 
	 * 功能：获得当前会话的id <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午2:47:52 <br/>
	 */
	String getId();
	
	/**
	 * 
	 * 功能：获取会话中指定名称的属性值 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午2:47:29 <br/>
	 */
	<T> T getAttribute(String name);
	
	/**
	 * 
	 * 功能：更新会话中指定名称的属性值 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午2:47:08 <br/>
	 */
	void setAttribute(String name, Object value);
	
	/**
	 * 
	 * 功能：移除会话中指定名称的属性值 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午2:48:29 <br/>
	 */
	void removeAttribute(String name);
	
	/**
	 * 
	 * 功能：让当前会话失效 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2015年12月1日 下午3:04:06 <br/>
	 */
	void invalidate();
}
